package d2_innerclass02;

public class Outer {
    //静态内部类,有static修饰, 属于类本身持有
    public static String schoolName = "黑马程序员";

    public static void inAddr() {
        System.out.println("我们都在检查");
    }

    //实例成员
    private double height;
    public double height1;

    //实例方法
    public void method() {
        System.out.println("实例方法");
    }

    //静态内部类:有static修饰, 属于类本身持有
    public static class Inner {
        //类有的成员它都有
        private String name;
        private int age;

        public Inner() {
        }

        //拓展: 静态内部类访问外部类的成员特点
        public void show() {
            //1.静态内部类中,是否可以直接访问外部类的静态成员??可以
            System.out.println(schoolName);
            inAddr();
            //2.静态内部类中,是可以直接访问外部类的实例成员?? 不可以
//            method();//报错,不能直接访问外部类的实力成员,实例成员是属于对象的,内部类没有外部类的对象
//            System.out.println(name);
            System.out.println(new Outer().height);
        }

        public Inner(String name, int age) {
            this.name = name;
            this.age = age;
        }
        //get与set方法

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
    }
}
